﻿/*
n!的位数 
Time Limit:5000MS  Memory Limit:65536K


Description:
针对每个非负整数n，计算其n!的位数。

Input:
输入数据中含有一些整数n（0≤n＜10^7）。 
Output:
根据每个整数n，输出其n!的位数，每个数占独立一行。 
Sample Input:
5
6
Sample Output:
3
3
*/
#include <algorithm>
#include <vector>
#include <cmath>
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
	vector<int> vint;

	for(int num; cin>>num;)
		vint.push_back(num);
	int maximum=*max_element(vint.begin(), vint.end());

	vector<int> vlen;
	vlen.reserve(maximum);
	vlen.push_back(0);

	double sum=0.0;
	for (int i=2; i<=maximum; ++i)
	{
		sum += log10((double)i);
		vlen.push_back(ceil(sum));
	}
	for (vector<int>::iterator it=vint.begin(); it!=vint.end(); ++it)
		cout<<vlen[*it-1]<<endl;
	return 0;
}